Repository navigation
fix(agc): harden host import construction and mutation waits - #2779
nikhilpanchal1 wants to merge 1 commit into
Conversation
Guard incomplete imports and preserve mutation waiter errors and progress. Follow-up to boykopovar#2575; refs boykopovar#2352.
|
Thank you for your interest in the project! We are sorry, but we cannot accept more PRs while we work through the existing backlog. This PR has been automatically closed and labeled "intake paused". This is not a judgment of the quality of your changes. |
Windows/NVIDIA validation — RTX 5070Tested PR #2779 on Windows 11 using an NVIDIA RTX 5070 and MinGW-w64 GCC 15.2.0. Revisions
Results
Notable observations
Limitations
Conclusion |
|
Windows/NVIDIA validation, as asked on #2575. Setup: Windows 10 (19045), RTX 3060 Laptop (NVIDIA 616.92), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release. Head
🤖 Addressed by Claude Code |
What
Follow-up to #2575, which merged MarcZX100's fix for #2352. Clean up incomplete Vulkan host imports before releasing their allocation pins. Install the mutation waiter centrally for descriptor-first imports, release completed batch holds during nested waits, reject pinned mutations in active completion callbacks, and propagate waiter errors after restoring the registry lock.
#1357, #1359 and #1361 cover related retirement ownership; that work is excluded. #1961 installs a waiter for its new map-time imports. This change covers existing descriptor-first imports centrally. #2283 changes kept-byte accounting; #290 adds import windows, eviction and memory-pressure release waits. Its pressure relief returns when the caller holds the GPU lock. These PRs touch related functions but do not implement the remaining safeguards here.
Tested
Linux x86-64 Release, Mesa 26.1.6 llvmpipe, Vulkan required. Full build and runtime library patching pass. Eight isolated cases fail
mainat5edae353and pass here; three controls pass both. Native guest APIs and a relinker-converted ELF exercise real Vulkan fills/copies and memory mutations, including Linux heap cache reuse and uncached reset/release. All nine runnable new tests pass 50 times with the shader cache disabled: 450 executions.Full suite: 670 passed, 37 skipped, two failed. All 698 existing tests retain their baseline results, including the same f32 denormal and f64 FMA failures. Two new write-watch tests skip because
userfaultfdis unavailable; the skip audit rejects those plus existingagc_write_tracking. Conventions and test registration pass. Windows, NVIDIA, DMA-buf chunks and Windows heap caching remain untested.Checklist
mainat5edae353; related open PRs reviewed and function overlaps disclosed above